Extensible Proof-Producing Compilation
نویسندگان
چکیده
This paper presents a compiler which produces machine code from functions defined in the logic of a theorem prover, and at the same time proves that the generated code executes the source functions. Unlike previously published work on proof-producing compilation from a theorem prover, our compiler provides broad support for user-defined extensions, targets multiple carefully modelled commercial machine languages, and does not require termination proofs for input functions. As a case study, the compiler is used to construct verified interpreters for a small LISP-like language. The compiler has been implemented in the HOL4 theorem prover.
منابع مشابه
Compilation Using Correct-by-Construction Program Synthesis
Extracting and compiling certified programs may introduce bugs in otherwise proven-correct code, reducing the extent of the guarantees that proof assistants and correct-byconstruction program-derivation frameworks provide. We present a novel approach to the extraction and compilation of embedded domain-specific languages developed in a proof assistant (Coq), showing how it allows us to extend c...
متن کاملAutomatic Dynamic Compilation Support for Event Dispatching in Extensible Systems
This paper describes extensions to an automatic dynamic compilation framework to support optimized event dispatching in the SPIN extensible operating system.
متن کاملJust-in-time Compilation for Generalized Parsing
Parsing syntactically extensible languages requires generalized parsers which are slow to generate for repeatedly changing grammars. This situation is similar to the execution of dynamic languages like JavaScript, suggesting that we can appropriate technology from that field to use in just-in-time compiled parsers. We implement two just-intime compiling grammar interpreters, a simple one and a ...
متن کاملA Proof-Producing Hardware Compiler for a Subset of Higher Order Logic
Higher order logic (HOL) is a modelling language suitable for specifying behaviour at many levels of abstraction. We describe a compiler from a ‘synthesisable subset’ of HOL function definitions to correctby-construction clocked synchronous hardware. The compiler works by theorem proving in the HOL4 system and goes through several phases, each deductively refining the specification to a more co...
متن کاملZenon : An Extensible Automated Theorem Prover Producing Checkable Proofs
We present Zenon, an automated theorem prover for first order classical logic (with equality), based on the tableau method. Zenon is intended to be the dedicated prover of the Focal environment, an objectoriented algebraic specification and proof system, which is able to produce OCaml code for execution and Coq code for certification. Zenon can directly generate Coq proofs (proof scripts or pro...
متن کامل